﻿using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Xml.Serialization;
using System.Data;
using System.Data.SqlClient;
using FilmekAdatbazis.Properties;

namespace FilmekAdatbazis
{
    public partial class szamlazas : Form
    {
        private szamla mySzamla;
        private kolcson mykolcs;
        private System.Data.SqlClient.SqlDataReader drAruCsop;
        private String ErrMess;
        private bool err;
        internal ArrayList alAruCsopKod;
        private System.Data.DataSet dsArukGrid;
        private System.Data.DataRow rowEgyAruSor;
        private bool First;
        private int maxID;
        private double vegso_ar;
        private int szamla_id;
        private frmkolcsonzes frmKolcson = new frmkolcsonzes();
       // private Utils ut;


        public szamlazas()
        {
            InitializeComponent();
           // mySzamla = new szamla(ref err);
           // ut = new Utils();
            System.Console.Write(err.ToString());
             
        }
        
        private void szamlazas_Load(object sender, EventArgs e)
        {
            mySzamla = new szamla(ref err);

            ErrMess = "";
            //alAruCsopKod = new ArrayList();
            drAruCsop = mySzamla.getFelhasznalok(ref ErrMess);
            Utils.ComboEpito1(cmp_vevo, drAruCsop);

            drAruCsop = mySzamla.getSzamlaID(ref ErrMess);
            drAruCsop.Read();
            String id = drAruCsop[0].ToString();
            szamla_id = Convert.ToInt32(id);
            szamla_id = szamla_id + 1;
            id_lb.Text = szamla_id.ToString();

            if (!First)
            {
                //dsArukGrid.Clear();

            }
            else
            {
                First = false;
            }
            maxID = mySzamla.maxSzamlaElem(ref ErrMess);
            System.Console.WriteLine(maxID);
            dsArukGrid = mySzamla.SzamlaGridTolt(maxID,ref ErrMess);
            if (ErrMess == "OK")
            {
                DateTime dt_kezd;
                DateTime dt_vegso;
                dgSzamla.DataSource = null;
                dgSzamla.DataSource = dsArukGrid;
                dgSzamla.SetDataBinding(dsArukGrid, "ArukGrid");
                dgSzamla.Refresh();
                dgSzamla.ReadOnly = true;

                drAruCsop = mySzamla.getMikortolMeddig(maxID,ref ErrMess);
                int i = 0;
                double osszeg=0;
                while (drAruCsop.Read())
                {
                    dt_kezd = Convert.ToDateTime(drAruCsop["Mikortol"]);
                    dt_vegso = Convert.ToDateTime(drAruCsop["Meddig"]);

                    TimeSpan span = dt_vegso.Subtract(dt_kezd);
                    int napok = span.Days;  //ennyi napra kell fizessen a kliens

                    osszeg = osszeg + (napok * 15.13);
                }
               // System.Console.WriteLine(osszeg);
                double TVAertek = (osszeg * 24) / 100;
                vegso_ar = osszeg + TVAertek;
                ar_lb.Text = osszeg.ToString();
                TVA_ert_lb.Text = TVAertek.ToString();
                arTVA_lb.Text = vegso_ar.ToString();
            }
            else
            {
                MessageBox.Show(ErrMess);
            }
        }

        private void cmp_vevo_SelectedIndexChanged(object sender, EventArgs e)
        {
            String nev = cmp_vevo.Text;
            System.Console.WriteLine(nev);
            drAruCsop = mySzamla.getCodFiscal(nev, ref ErrMess);
            drAruCsop.Read();
            //fiscal_lb.Text = drAruCsop[0].ToString();
            String text = "Cod fiscal: " + drAruCsop[0].ToString();
            fiscal_lb.Text = text;
        }

        private void dtGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGrid myGrid = (DataGrid)sender;
            System.Windows.Forms.DataGridCell selectedCell = myGrid.CurrentCell;
            object selectedItem = myGrid[selectedCell.RowNumber, selectedCell.ColumnNumber];
            int cellValue = Convert.ToInt32(selectedItem);
        }

        private void vissza_Click(object sender, EventArgs e)
        {
            mySzamla.torolSzamla(maxID, ref ErrMess);

            //this.Close();

           /* if (frmKolcson == null)
            {
                frmKolcson = new frmkolcsonzes();
            }*/
            //frmKolcson.Show();
           // mySzamla.anulal(ref ErrMess);
            //mykolcs.anulal(ref ErrMess);

            frmkolcsonzes f = new frmkolcsonzes();
            this.Hide();
            f.ShowDialog();


        }

        private void button1_Click(object sender, EventArgs e)
        {
            string vevo = cmp_vevo.Text;
            drAruCsop = mySzamla.getFelhasznaloId(vevo,ref ErrMess);
            drAruCsop.Read();
            DateTime datum = dateTimePicker1.Value;
            int vevoID = Convert.ToInt32(drAruCsop["FelhasznaloID"]);
            mySzamla.addSzamla(szamla_id, maxID, vevoID, datum, vegso_ar, ref ErrMess);

            if (ErrMess == "OK")
            {
                MessageBox.Show("Sikeres fizetes");
                this.Hide();
                frmkolcsonzes k = new frmkolcsonzes();
                k.ShowDialog();
            }
            else
            {
                MessageBox.Show("Hiba tortent a szamla lementeseben");
            }

        }
    }
}
